package pe.com.cotelasa.scp.dao.impl;

import java.io.Serializable;
import java.util.Collection;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import pe.com.cotelasa.common.dao.DaoImpl;
import pe.com.cotelasa.common.dao.excepcion.DAOException;
import pe.com.cotelasa.scp.dao.IDAOPais;
import pe.com.cotelasa.scp.entidad.Pais;

/**
 * @author zer0
 */
@Repository("daoPais")
public class DAOPaisImpl extends DaoImpl<Pais, Integer> implements IDAOPais, Serializable {

    @Autowired
    private SessionFactory sessionFactory;

    @Transactional
    public Pais obtenerPaisPorNombre(String nombrePais) throws DAOException {
        Pais paisBuscado = null;
        try {
            paisBuscado = (Pais) sessionFactory.getCurrentSession().createCriteria(Pais.class)
                    .add(Restrictions.eq("nombre", nombrePais)).uniqueResult();
        } catch (Exception e) {
            e.printStackTrace();
            throw new DAOException(e.getMessage(), e);
        }
        return paisBuscado;
    }


}
